﻿using OutdoorLib.Context;
using OutdoorLib.BaseEntity.Agency;
using System.Text;
using System.Web.UI;
using System.IO;
using OutdoorLib.BaseEntity.Dictionary;
using Grishko.DataTier;



    /// <summary>
    /// Глобальные объекты приложения, контстанты, текущий пользоватеь, текущее агентство, экран
    /// </summary>
    public class GlobalConstants : AgencyLib_GlobalConstants
    {
        
        public enum ConextMenuType { mTreeDictionary };
        public const string cssHidden = "hidden";

        public static string qProxyId { get { return TreeEntitySingle.qProxyId; } }
        /// <summary>
        /// Разделитель параметров при загрузке страницы через PageProcessor.aspx        
        /// </summary>
        public const string qParamSplitter = "|";     

        /// <summary>
        /// Папка с фото рекл. конструкций
        /// </summary>
        public const string SidePhotoFolder = "SidePhoto";

      

        /// <summary>
        /// На основании Текущего UserName - обратиться к базе и вычислить Агенство
        /// </summary>
        /// <returns></returns>
        public static  string GetAgencyId()
        {
            return CurrentAgency.ID;             
        }
        
        public static AgencyEntity GetAgency()
        {
            return CurrentAgency;
        }

        

        /// <summary>
        /// Агенство текущего пользователя
        /// </summary>
        public static string CurrentAgencyId
        {
            get { return CurrentAgency.ID; }
        }

        
        /// <summary>
        /// Размерность экрана и значения связанные с размерностью 
        /// </summary>

        public static ScreenValues ScreenValues
        {
            get { return new ScreenValues(); }         
        }
        
        /// <summary>
        /// Расчитывает количество строк на экране в расчете строка = 50px 
        /// </summary>
        public static int Def_RecordOnScreen
        {
            get { return ScreenValues.GetRecordsOnScreen (50) ; }
        }


    }
